Tableau Server: コンテンツ・データを異なるドライブへ移行する
Tableau ServerはDesktop環境(Tableau Desktop)で作成した各種コンテンツやリソースを共有する事が出来る便利なプロダクトです。ですが、共有するコンテンツのボリュームや共有アクション(Tableauではこの作業の事を"パブリッシュ"(Publish)と呼んでいます)の頻度に拠っては、Tableau Serverが導入されているWindows環境のストレージ容量がすぐに空きが無くなってしまうという事態に陥ってしまう事も無くはないケースとなります。
その際に取り得る策の一つとして『別ドライブを設け、そちらに移行させる』というものがありますが、行なうにあたっては幾つかのポイントがあります。当エントリではTableauのKB(ナレッジベース)にも紹介されている以下のエントリを元に、ドライブの追加手順も踏まえた形でその内容をご紹介してみたいと思います。(注:SSL証明書のくだりについては、今回は割愛しています。SSL証明書を踏まえた内容については下記の参照元エントリをご参照ください。)
もくじ
- 想定シナリオ
- 環境準備
- 移行作業開始 - バックアップファイルの作成
- 従来バージョンのTableau Serverのアンインストール
- Windows Serverインスタンスへのドライブの追加
- 新しいTableau Serverのインストール
- バックアップファイルのリストア作業
- まとめ
想定シナリオ
当エントリの作業を解説していくにあたり、想定している状況・シナリオとしては以下の様なものとなります。インストール先ドライブの変更に併せて諸々の環境を変更させる、という感じですね。
- 1.Cドライブ単独で構成したWindows Server 2012環境にTableau Server 9.0をインストールした。
- 2.運用を続けて行くうちに、Cドライブの空き容量が少なくなって来そうになってきた。
- 3.Windows Server 2012環境にDドライブを新規で追加して、まずは容量自体の拡張を行ないたい。
- 4.次いで、Tableau Serverも従来のCドライブからDドライブへ移行させたい。
- 5.Tableau Serverもこの際バージョンアップさせたい(9.0→9.1)。
環境準備
まず初めに、シナリオを進めて行く上での環境作りから行いたいと思います。任意のWindows Server 2012のAMI(Windows Server 2012日本語版で最新版となるもの)を選択し、
Cドライブ単独構成となる形で進めます。ここでのCドライブの容量は50GBとしてみました。
インストールするTableau Serverのバージョンは9.0としてみました。現行最新バージョンは9.1となりますので、一つ前のバージョンとなります。過去バージョンのTableau製品をインストール(というか過去バージョンのインストーラーを入手)する際の手順については以下をご参照ください。
ここでのインストール先ディレクトリの指定はデフォルト通りの内容で進めました。直近の状態だとC:\Program Files配下にインストールされるようです。
インストールが完了したら、状況確認のために任意のコンテンツを幾つかパブリッシュしておきます。
移行作業開始 - バックアップファイルの作成
ここからが当エントリの本編というべきポイントの部分となります。まず始めに、現行環境のバックアップファイルを取得します。今回はバックアップファイル格納用に、Cドライブ配下に以下の様なフォルダを作成しました。
Tableau Serverの停止、及び
PS C:\Program Files\Tableau\Tableau Server\9.0\bin> .\tabadmin.bat stop ===== Stopping service... -- Service stopped successfully PS C:\Program Files\Tableau\Tableau Server\9.0\bin>
バックアップファイルの作成を実施。バックアップファイル作成にはtabadmin backupコマンドを用います。-dオプションを使ってファイル名に日付情報を付与しています。
PS C:\Program Files\Tableau\Tableau Server\9.0\bin> .\tabadmin.bat backup C:\tableau-backup-files\bkup-tableau-server -d ===== Using as backup tmp directory: C:/ProgramData/Tableau/Tableau Server/data/tabsvc/temp (free space: 26.71 GB) ===== Cleaning entries from http_requests log older than 7 days -- Deleted 0 rows ===== Backing up database data ===== Backing up dataengine extracts ===== Backup of database data done ===== Backup of dataengine extracts done ===== Backup written to C:/tableau-backup-files/bkup-tableau-server-2015-11-18.tsbak PS C:\Program Files\Tableau\Tableau Server\9.0\bin>
従来バージョンのTableau Serverのアンインストール
バックアップファイルが所定のフォルダに生成されたのを確認出来たら、現行バージョンのTableau Serverのアンインストールを行います。作業はコントロールパネルから行ってください。
アンインストール作業が完了したら、インストール先にあったバージョン配下のフォルダも併せて削除しておきます。
一方、隠しフォルダであるC:\Program Dataフォルダにも関連するファイル郡が残っていますが、こちらは逆に手を付けず、そのままにしておいてください。
Windows Serverインスタンスへのドライブの追加
現行環境下ではCドライブ1つか無く、ストレージ容量も限りがある状態でした。ですので、ドライブそのものの追加をTableau Server環境移行の前に行いたいと思います。上記作業が完了したらWindowsインスタンス自体をStopさせ、追加を行なうドライブとなるEBSの新規作成を行います。手順詳細については下記エントリをご参照ください。ここでは120GBのドライブを作成しました。
EBS追加・Windowsインスタンス起動後の状態。Dドライブ(120GB)が追加されている事が確認出来ています。
新しいTableau Serverのインストール
次に、バージョンアップさせるTableau Serverのインストーラを別途入手し、そのバージョンの環境をインストールします。
新規作成したDドライブ配下にディレクトリを前以て作成しておき、D:\Tableau配下に新しいTableau Serverをインストールする想定で進めたいと思います。
バックアップファイルのリストア作業
新バージョンのTableau Serverインストールが完了したらいよいよ仕上げ作業となるリストアです。tabadmin restoreコマンドを--no-configオプションを付与して使い、上記で作成したバックアップファイルを指定してリストア作業を行います。
PS D:\Tableau\Tableau Server\9.1\bin> .\tabadmin.bat restore C:\tableau-backup-files\bkup-tableau-server-2015-11-18.tsbak --no-config ===== Beginning to restore the backup ===== Stopping service... -- Service stopped successfully ===== Verifying backup manifest ===== Initializing Tableau Server File Store remotely -- Initiating built-in extract engine data restore -- Restoring service data from backup file -- Database restore completed. -- running migrations ===== Validating Database schema signature ===== Database schema is different from the expected schema. Use tabadmin validate_schema_signature for further investig ation. ===== Initializing Tableau Server Coordination Service 0 remotely -- Waiting for built-in extract engine data restore to finish. -- Extract engine data restore completed. ===== Migrating extract data to filestore... ===== Finished Migrating. Cleaning up unmigrated data... ===== Cleaning up any unmigrated folders. -- Restoring web data connectors -- Web data connectors were distributed to all gateways. -- Web data connectors restore completed. *** The run-as password is empty. If the run-as user is a built-in system account, this is likely fine. Otherwise, ser vices will likely fail to start. ===== Locking permissions on C:/ProgramData/Tableau/Tableau Server/data ===== Locking permissions on C:/ProgramData/Tableau/Tableau Server/config ===== Building search index ===== Search index built ===== Backup restore completed ===== Enter "tabadmin start" to start the service
リストア作業後、Tableau Serverを起動。
PS D:\Tableau\Tableau Server\9.1\bin> .\tabadmin.bat start ===== Starting service... -- Service was started successfully PS D:\Tableau\Tableau Server\9.1\bin>
これで一通りの作業が完了となります。Tableau Serverにサインインし、従来バージョンのコンテンツや設定が諸々、新規バージョンでの環境下で動作している事を確認します。
まとめ
以上、Tableau Serverのドライブ間のコンテンツ移行及び移行に際してのシナリオを想定した手順の進め方に関する解説でした。下記エントリでもその内容を解説していますが、EC2環境に於けるTableau Serverのインストール先ディレクトリはCドライブではなく、別途ドライブを設けた上でそちらの方にインストールを行なうというのが推奨されています。(というかベストプラクティスとなる様です。)
Tableau Serverはコンテンツの共有を行なう環境となるため、その共有の頻度、アップロードされるコンテンツのボリュームによってすぐにストレージ容量を圧迫する状況に陥る可能性もあります。そんな状況を回避するための方策としてこちらの手順は一つの解決策になると思いますので是非検討してみてはいかがでしょうか。こちらからは以上です。